import { ref, watch, reactive, getCurrentInstance } from 'vue'
import { Search, Plus } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import request from '@/utils/request'
import { publicApi } from '../../../../api/public'
import lineDateComp from './component/lineDateComp'
import buttonAction from './component/buttonAction'
import $button from '@/button'

const proxy = getCurrentInstance();

export const tableItem = reactive({
    select: false,
    index: !true,
    tree: true,
    expandAll: true,
    align: 'center',
    column: [
        {
            label: '企业名称',
            prop: 'nickName',
            align: 'center',
        },
        {
            label: '归属机构',
            prop: 'parentName',
            align: 'center',
            closeShow:null
        },
        // {
        //     label: '到期日期',
        //     prop: 'lineDate',
        //     align: 'center',
        //     // component: lineDateComp,
        //     width: '150'
        // },
        {
            label: '有效学员数量',
            prop: 'studentNum',
            align: 'center',
            width: '120'
        },
        {
            label: '企业账号',
            prop: 'userName',
            align: 'center',
            width: '150'
        },
        {
            label: '操作',
            prop: 'action',
            align: 'center',
            component: buttonAction,
            width: '300'
        }
    ],
    pageInfo: {
        request: {
            'nickName': '',
            'typeCode': 'enterprise',
            'parentName': '',
            'startDate': computed(() => {
                if (tableItem.pageInfo.request.createDateStart) {
                    return tableItem.pageInfo.request.createDateStart + "T00:00:00"
                } else {
                    return ""
                }
            }),
            'endDate': computed(() => {
                if (tableItem.pageInfo.request.createDateEnd) {
                    return tableItem.pageInfo.request.createDateEnd + "T23:59:59"
                } else {
                    return ""
                }
            }),
            'pageDomain': {
                'pageNum': '1',//分页页面数
                'pageSize': '10',//分页页面数据大小
                'orderByColumn': '',//搜索参数
                'isAsc': '',//搜索参数
                'reasonable': ''//搜索参数
            }
        },
        pagesClose: false,//是否开启分页
        url: '/system/user/pageEntUser',//分页路由，不传的话需要传入自定义的分页函数paging 传入时定义的分页函数paging会失效
        method: 'POST',//分页请求方法，不传默认为POST
        // 分页函数paging
        paging: function () {
        }
    },
    // 分页数据 自定义分页函数paging时需要把值赋给tableData
    tableData: {
        total: '',//分页总计
        // 分页数据
        rows: []
    },
    // 操作栏按钮
    btnArray: [
        {
            label: '查看',
            type: 'primary',
            plain: true,//镂空按钮  优先文字按钮
            text: true,//文字按钮
            customParameters: 'view',//自定义函数参数
            show: true,//是否显示
            // 按钮方法
            handle: function (row) {
            }
        },
        {
            label: '修改',
            type: 'primary',
            plain: true,//镂空按钮  优先文字按钮
            text: true,//文字按钮
            customParameters: 'edit',//自定义函数参数
            show: true,//是否显示
            // 按钮方法
            handle: function (row) {
            }
        },
        {
            label: '查看密码',
            type: 'primary',
            text: true,
            show: true,//是否显示
            handle: function (row) {
            }
        },
        {
            label: '禁用',
            type: 'primary',//类别 摈弃了text
            labelEn: 'status',
            show: true,
            plain: true,//镂空按钮  优先文字按钮
            text: true,//文字按钮
            // 按钮方法
            handle: function (row) {
            }
        },
        {
            label: '启用',
            type: 'primary',//类别 摈弃了text
            labelEn: 'status',
            show: true,
            plain: true,//镂空按钮  优先文字按钮
            text: true,//文字按钮
            // 按钮方法
            handle: function (row) {
            }
        },
    ],
    moreBtnArrayText: '',
    moreBtnArray: [],
    // 选择框触发
    selectChange: function (row) {
        console.log(row)
    },
}
)

export const operationItem = reactive({
    defaultSearch: false,
    defaultRefresh: false,
    SearchItem: [
        {
            code: 'nickName',
            name: '企业名称',
            type: 'select',
            placeholder: '企业名称',
            options: []
        },
        {
            code: 'parentName',
            name: '归属机构',
            type: 'select',
            placeholder: '归属机构',
            options: []
        },
        // {
        //     code: 'daterange',
        //     startName: '到期日期',
        //     endName: '到期日期',
        //     type: 'daterange',
        // },

    ],
    menuArray: [
        {
            show: true,
            type: 'primary',
            text: '查询',
            icon: Search,
            handle: () => {
            }
        },
        {
            show: true,
            type: 'primary',
            text: '新增',
            icon: Plus,
            hasPermi: [$button.systemuserentAdd],
            handle: () => {
            }
        },
    ]
})

// 企业分页
export function entPagingApi(dataRequest) {
    return request({
        url: '/system/user/pageEntUser',
        method: 'POST',
        data: dataRequest
    })
}
//机构列表
export function orgListApi(dataRequest) {
    return request({
        url: '/system/user/listAll',
        method: 'POST',
        data: dataRequest
    })
}

// 新增企业
export function entAddApi(dataRequest) {
    return request({
        url: '/system/user/addEnt',
        method: 'POST',
        data: dataRequest
    })
}

// 修改企业
export function entEditApi(dataRequest) {
    return request({
        url: '/system/user/editEntUser',
        method: 'PUT',
        data: dataRequest
    })
}

// 查看密码
export function entViewPasswordApi(dataRequest) {
    return request({
        url: '/system/user/view/password',
        method: 'POST',
        data: dataRequest
    })
}


